package tech.aistar.corejava.day06.extend;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:子类
 * @date 2019/7/22 0022
 */
public class Cat extends Animal{//使用extends来指明继承关系
    //子类中就是用来定义子类特有的成员
    private double bud;//萌度..

    public Cat(){
        /*
        - 出现在类的构造中 - 默认是省略的
        - 显式地去调用父类的空参构造.
        - 它必须要出现在构造的首行.
         */
        super();
        System.out.println("Cat()...空参构造被调用了!");
    }

    public Cat(String name,double bud){
        super(name);//调用父类中的带参构造...
        System.out.println("Cat的带参构造被调用了!");
        this.bud = bud;
        //this.name = name;
    }

    public void setBud(double bud) {
        this.bud = bud;
    }

    public double getBud() {
        return bud;
    }

    /**
     * 猫可以捉老鼠
     */
    public void catchMouse(){
        System.out.println("猫会捉老鼠...");
    }

    /**
     * 子类重写父类的方法spark
     */
    @Override
    public void spark() {
        System.out.println("喵喵~~~");
    }

    @Override
    public String toString() {
        return "name:"+this.getName()+",bud:"+this.bud;
    }
//
//    @Override
//    public String toString() {
//        //super.成员 - 来强制调用父类的成员.
//        return super.toString()+",bud:"+this.bud;
//    }
}
